Swiveling work machine and method for detecting orientation of swiveling work machine

ABSTRACT

A swiveling work machine includes: a swivel base rotatable about a swivel axis extending in an up-down direction; a working device provided on the swivel base; a position detector provided on the swivel base to detect a position; and a calculator to calculate an orientation of the swivel base based on a detected position which is the position detected by the position detector, in which the calculator is configured or programmed to calculate an axis position which is a position of the swivel axis based on a plurality of the detected positions obtained during rotation of the swivel base about the swivel axis, and calculate the orientation of the swivel base, based on the axis position and the detected position.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority to Japanese Patent Application No. 2022-103750 filed on Jun. 28, 2022. The entire contents of this application are hereby incorporated herein by reference.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to a swiveling work machine and a method for detecting an orientation of the swiveling work machine.

2. Description of the Related Art

A loading machine disclosed in Japanese Unexamined Patent Application Publication No. 2022-75200 is known.

The loading machine disclosed in Japanese Unexamined Patent Application Publication No. 2022-75200 is, for example, a backhoe such as a hydraulic excavator including a working device provided rotatably in an up-down direction with respect to a machine main body, and has a loading machine orientation sensor for measuring an orientation of the loading machine. The loading machine orientation sensor is, for example, a dual antenna global positioning system (GPS) that includes two antennas and measures an orientation from relative positions of antenna positions acquired by the respective antennas.

SUMMARY OF THE INVENTION

In the loading machine of Japanese Unexamined Patent Application Publication No. 2022-75200, the orientation of the loading machine can be measured by the loading machine orientation sensor including the dual antenna GPS.

Here, in order to improve the measurement accuracy of the orientation of the loading machine, it is considered to adopt a device such as a global navigation satellite system (GNSS) receiver having high position detection accuracy as a position detector including the dual antenna GPS. However, since the GNSS receiver or the like is relatively expensive, there is a problem in that the manufacturing cost of the loading machine is increased by providing a plurality of GNSS receivers or the like as the dual antenna GPS.

Preferred embodiments of the present invention provide swiveling work machines each of which can detect the orientation of a swivel base by using a single position detector and methods for detecting the orientation of a swiveling work machine.

A swiveling work machine according to an aspect of the present invention includes: a swivel base rotatable about a swivel axis extending in an up-down direction; a working device provided on the swivel base; a position detector provided on the swivel base to detect a position; and a calculator to calculate an orientation of the swivel base based on a detected position which is the position detected by the position detector, wherein the calculator is configured or programmed to calculate an axis position which is a position of the swivel axis based on a plurality of the detected positions obtained during rotation of the swivel base about the swivel axis, and calculate the orientation of the swivel base based on the axis position and the detected position.

The calculator may be configured or programmed to calculate the axis position of the swivel axis based on a plurality of the detected positions obtained during a period from when the swivel base starts the rotation to when the swivel base stops the rotation.

The swiveling work machine may further include an angle detector provided in or on the swivel base to detect a swivel angle which is an angle of rotation of the swivel base about the swivel axis. The calculator may be configured or programmed to calculate a current orientation of the swivel base based on a reference orientation and the swivel angle which is an angle of rotation from a swivel position corresponding to the reference orientation to a current swivel position, the reference orientation being the orientation of the swivel base calculated based on the axis position and on one of the plurality of detected positions used to calculate the axis position.

The calculator may be configured or programmed to calculate the axis position of the swivel axis based on a plurality of the detected positions obtained during a period from when the swivel base starts the rotation to when the swivel base stops the rotation, and calculate the current orientation of the swivel base based on the reference orientation and on a difference between a swivel angle obtained when the swivel base stops the rotation and a current swivel angle.

The calculator may include a filter processor configured or programmed to filter the plurality of detected positions obtained during the rotation of the swivel base. The filter processor may be configured or programmed to exclude one or more of the plurality of detected positions that are located outside a substantially arc-shaped area including an arc having a radius equal to a distance from the swivel axis to the position detected by the position detector.

The swiveling work machine may further include a tilt detector to detect a tilt angle of the swivel base. The filter processor may be configured or programmed to correct the area based on the tilt angle detected by the tilt detector.

The calculator may be configured or programmed to calculate a circular or elliptic approximate line based on the plurality of detected positions obtained during the rotation of the swivel base, and calculate the axis position based on the approximate line.

The calculator may be configured or programmed to calculate, using a least squares method using an equation of a circle or an ellipse, the approximate line of the plurality of detected positions obtained during the rotation of the swivel base.

The swiveling work machine may further include a lower traveling body to travel and to support the swivel base such that the swivel base is rotatable about the swivel axis.

The calculator may be configured or programmed to calculate the axis position based on the plurality of detected positions obtained during the rotation of the swivel base that is performed for the first time after the lower traveling body stops after traveling.

The position detector may be located at a position away from the swivel axis in a horizontal direction.

The position detector may be located at an end portion of the swivel base.

A method of detecting an orientation of a swiveling work machine according to an aspect of the present invention includes: a first step including causing a swivel base provided with a working device to rotate about a swivel axis extending in an up-down direction and causing a position detector provided on the swivel base to detect a plurality of detected positions; a second step including calculating an axis position which is a position of the swivel axis based on the plurality of detected positions detected by the position detector; and a third step including calculating an orientation of the swivel base based on the axis position calculated in the second step and a current detected position.

The above and other elements, features, steps, characteristics and advantages of the present invention will become more apparent from the following detailed description of the preferred embodiments with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of preferred embodiments of the present invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings described below.

FIG. 1 is a schematic side view illustrating a swiveling work machine.

FIG. 2 is a schematic plan view illustrating the swiveling work machine.

FIG. 3 is a diagram for describing a system of the swiveling work machine.

FIG. 4 is a plan view illustrating a case where a swivel base rotates about a swivel axis.

FIG. 5 is a plan view illustrating detected positions obtained when the swivel base rotates about the swivel axis.

FIG. 6A is a first diagram illustrating an example of filtering performed by a filter processor.

FIG. 6B is a second diagram illustrating the example of the filtering performed by the filter processor.

FIG. 7A is a first diagram illustrating an example of an approximate line determined by a second determiner.

FIG. 7B is a second diagram illustrating an example of an approximate line determined by the second determiner.

FIG. 8 is a diagram illustrating an example of a reference orientation determined by a third determiner and a current orientation determined by a fourth determiner.

FIG. 9 is a flowchart in which a calculator calculates an orientation.

FIG. 10 illustrates how to determine the position of a swing body.

FIG. 11 is a diagram for describing calculation of an orientation in the first modification example.

FIG. 12 is a partial flowchart in which the calculator calculates the orientation in the first modification example.

FIG. 13 is a diagram for describing a system of the swiveling work machine in the first modification example.

FIG. 14 is a partial flowchart in which the calculator calculates the orientation in a second modification example.

FIG. 15 is a diagram for describing a system of the swiveling work machine in a third modification example.

FIG. 16 is a partial flowchart in which the calculator calculates the orientation in the third modification example.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred embodiments will now be described with reference to the accompanying drawings, wherein like reference numerals designate corresponding or identical elements throughout the various drawings. The drawings are to be viewed in an orientation in which the reference numerals are viewed correctly.

Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

First, an overall configuration of a swiveling work machine 1 will be described. FIG. 1 is a schematic side view illustrating the swiveling work machine 1. In addition, FIG. 2 is a schematic plan view illustrating the swiveling work machine 1. As illustrated in FIGS. 1 and 2 , the swiveling work machine 1 is, for example, a backhoe or the like including a swivel base 2, a cabin 5, a lower traveling body 10, and a working device 20. An operator's seat 6 is provided on the swivel base 2.

Hereinafter, a direction in which an operator seated on the operator's seat 6 of the swiveling work machine 1 faces (the direction of an arrow A1 in FIGS. 1, 2 , and the like) is referred to as front, and a direction opposite thereto (the direction of an arrow A2 in FIGS. 1, 2 , and the like) is referred to as rear. In addition, the left side of the operator (front in FIG. 1 , the direction of an arrow B1 in FIG. 2 ) is referred to as left, and the right side of the operator (back in FIG. 1 , the direction of an arrow B2 in FIG. 2 ) is referred to as right. Furthermore, a horizontal direction orthogonal to the front-rear direction is referred to as a width direction (see FIG. 2 ).

The swivel base 2 is rotatable about a swivel axis (vertical axis) X extending in the up-down direction. The swivel base 2 has a swivel substrate 17 and a weight 18. The swivel substrate 17 is supported on the lower traveling body 10 via a swivel bearing 3 so as to be capable of swiveling to the left and right. The center of the swivel bearing 3 is the swivel axis X, and a swivel motor MT is attached to the swivel substrate 17. The swivel motor MT is a hydraulic device that is driven with hydraulic fluid delivered from a hydraulic pump (omitted from illustration) provided on the swivel substrate 17, and is a motor that rotatably drives the swivel substrate 17 about the swivel axis X. The weight 18 is provided at a rear portion of the swivel base 2.

The lower traveling body 10 includes a traveling frame (track frame) 11 and a traveling mechanism 12. The traveling frame 11 is a structure to which the traveling mechanism 12 is attached and which supports the swivel base 2 on an upper portion thereof.

The traveling mechanism 12 is, for example, a crawler-type traveling device. The traveling mechanism 12 includes an idler 13, a driving wheel 14, a plurality of rolling wheels 15, an endless crawler belt 16, and traveling motors ML and MR driven with the hydraulic fluid delivered from the hydraulic pump. The traveling motors ML and MR include hydraulic motors and drive the driving wheel 14 to circulate the crawler belt 16 in the circumferential direction. A dozer device 29 is provided at a front portion of the traveling mechanism 12.

The swivel base 2 has a support bracket 7 provided at a front portion thereof. The support bracket 7 has a swing bracket 8 mounted thereon. The swing bracket 8 is supported by the support bracket 7 so as to be swingable about an axis in the longitudinal direction. The swing bracket 8 is swung by expansion and contraction of a swing cylinder (omitted from illustration) attached to the swivel base 2. Note that in the examples illustrated in FIGS. 1 and 2 , as illustrated in FIG. 2 , the support bracket 7 is provided at a position biased rightward from the center in the width direction of the swivel substrate 17 (on a straight line SL passing through the swivel axis X and extending in the front-rear direction).

As illustrated in FIG. 1 , the working device 20 is provided on the swivel base 2. The working device 20 has a swing body and a bucket 25. In the present embodiment, the swing body has a boom 21 and an arm 23. The bucket 25 is attached to the distal end of the arm 23, which is a swing body, such that its posture can be changed.

The bucket 25 has a bracket 27 provided at the base end thereof. The bucket 25 is attached to the distal end of the arm 23 via the bracket 27. The bucket 25 has a sidewall 25A, a bottom wall 25B, and a bucket claw 25C. The sidewall 25A includes a left sidewall and a right sidewall. The bottom wall 25B connects the left sidewall and the right sidewall. The bucket claw 25C is provided at the distal end of the bucket 25. The working device 20 has a boom cylinder 21 a, an arm cylinder 23 a, and a bucket cylinder 25 a as driving mechanisms (hydraulic actuators and the like) of the boom 21, the arm 23, and the bucket 25. The boom cylinder 21 a, the arm cylinder 23 a, and the bucket cylinder 25 a include hydraulic cylinders.

A base end portion of the boom 21 is pivotally supported by the swing bracket 8 so as to be swingable about a first rotation axis 22. A base end portion of the arm 23 is pivotally supported by a distal end portion of the boom 21 so as to be swingable about a second rotation axis 24. A base end portion of the bucket 25 is pivotally supported by a distal end portion of the arm 23 so as to be swingable about a third rotation axis 26. The boom 21 swings up and down by expansion and contraction of the boom cylinder 21 a. The arm 23 swings up and down by expansion and contraction of the arm cylinder 23 a. The bucket 25 performs a shovel operation/dump operation by expansion and contraction of the bucket cylinder 25 a.

The swivel base 2 has a control valve (omitted from illustration) mounted on a right portion thereof. The control valve controls the supply of the hydraulic fluid to a hydraulic actuator for swiveling the swivel base 2, driving the traveling mechanism 12, driving the working device 20, and the like. The swivel base 2 has a prime mover 4, a hydraulic pump (omitted from illustration), and the like mounted on a rear portion thereof. The prime mover 4 is an internal combustion engine such as a diesel engine or a gasoline engine, an electric motor, or the like. The prime mover 4 may be of a hybrid type having both an internal combustion engine and an electric motor.

The swivel base 2 has the cabin 5 mounted on an upper portion thereof. The cabin 5 is an operator's seat protector that protects the operator's seat 6. Instead of the cabin 5, a canopy may be mounted as the operator's seat protector.

Around the operator's seat 6, there are provided an operation device 40 including a swivel lever for swiveling the swivel base 2, a traveling lever for operating the traveling mechanism 12, and an operation lever for operating the working device 20 (all of which are omitted from illustration).

FIG. 3 is a diagram for describing a system of the swiveling work machine 1. As illustrated in FIG. 3 , the swiveling work machine 1 includes a controller 30, a memory 34, and a display 35. The controller 30, the memory 34, and the display 35 can communicate with each other via an in-vehicle communication network N such as a controller area network (CAN) or FlexRay.

The controller 30 is a device that controls various devices included in the swiveling work machine 1. The controller 30 includes electric/electronic component(s), program(s), and/or the like. The memory 34 is a non-volatile memory or the like, stores an operating system and various kinds of application software, and can store various programs and/or the like and various kinds of information related to the swiveling work machine 1.

The display 35 includes a display screen 35 a for displaying various kinds of information about the swiveling work machine 1, such as information related to the swiveling work machine 1. For example, the swiveling work machine 1 includes a vehicle speed detector (vehicle speed sensor) 53 that detects the speed (vehicle speed) of the traveling mechanism 12, and the display 35 can display the vehicle speed detected by the vehicle speed detector 53 on the display screen 35 a. The vehicle speed detector 53 is connected to the controller 30, and outputs a signal (vehicle speed signal) related to the detected vehicle speed to the controller 30. The controller 30 causes the display 35 to display the vehicle speed based on the vehicle speed signal. The display screen 35 a of the display 35 is disposed at a position (for example, in front of, obliquely in front of, or on a side of the operator's seat 6) such that the operator seated on the operator's seat 6 in the cabin 5 can visually recognize the display screen 35 a. Note that the display screen 35 a may be capable of performing various kinds of setting related to the swiveling work machine 1.

Based on position information of a detected position Pd detected by a position detector 50 provided on the swivel base 2, the swiveling work machine 1 can calculate an orientation D of the swivel base 2. Based on the calculated orientation D of the swivel base 2, the swiveling work machine 1 can further calculate a position Pw of the swing body. Here, the orientation D of the swivel base 2 is, for example, a direction in a horizontal plane in which the working device 20 on the swivel base 2 faces, and is a direction indicated by the distal end (the bucket 25) of the working device 20 on the straight line SL passing through the swivel axis X and extending in the front-rear direction. Note that the orientation D of the swivel base 2 may be a direction in a horizontal plane indicating a predetermined point on the swivel base 2 with reference to the swivel axis X, and is not limited to a direction indicated by the distal end of the working device 20 on the straight line SL.

Calculation of the orientation D of the swivel base 2 by the swiveling work machine 1 will be described below in detail. As illustrated in FIG. 3 , the swiveling work machine 1 includes the position detector 50, a tilt detector 51, an angle detector 52, and a calculator (orientation calculator) 31.

The position detector 50 is a device that detects the detected position Pd, which is the position of the position detector 50. The position detector 50 outputs position information (measured position information including latitude and longitude, and position coordinates in the present embodiment) of the detected position Pd as a signal (position signal) to the controller 30. In the present embodiment, the position detector 50 detects the detected position Pd by using a well-known global positioning system (GPS), which is an example of a global navigation satellite system (GNSS). As illustrated in FIGS. 1 and 2 , the position detector 50 is disposed at a position away from the swivel axis X.

FIG. 4 is a plan view illustrating a case where the swivel base 2 rotates about the swivel axis X. As illustrated in FIG. 4 , in a state where the lower traveling body 10 stops traveling, if the swivel base 2 rotates about the swivel axis X, a position P′ corresponding to the detected position Pd of the position detector 50 forms an arc-shaped locus having a radius R1 equal to a distance L1 between the swivel axis X and the position P′. FIG. 5 is a plan view illustrating detected positions Pd obtained when the swivel base 2 rotates about the swivel axis X.

Note that an x-axis direction in FIG. 5 and the like coincides with the longitude direction, and a y-axis direction coincides with the latitude direction. In FIG. 5 and the like, for convenience of description, a case is illustrated where the traveling direction (front-rear direction) of the lower traveling body 10 is oriented in the y-axis direction and the width direction of the lower traveling body 10 is oriented in the x-axis direction.

As illustrated in FIGS. 1 and 2 , in the present embodiment, the position detector is mounted on a rear upper portion of the cabin 5 via a bracket 50 a. In addition, in the example illustrated in FIG. 2 , the position detector 50 is provided at the center in the width direction of the swivel substrate 17.

Note that the position at which the position detector 50 is mounted is not limited to the position illustrated in FIGS. 1 and 2 and the like, and the position detector 50 may be mounted at any position as long as the position detector 50 can detect a predetermined position horizontally away from the swivel axis X on the swivel base 2. For example, the position detector 50 may be mounted on a roof 5 a of the cabin 5, or may be provided on the weight 18, a frame (omitted from illustration), or an exterior cover 9 provided on the swivel base 2. However, in order to improve the reception accuracy of a measured position signal of the GNSS, it is preferable to provide the position detector 50 on the swivel base 2 at a relatively high position. In addition, in order to increase the detection accuracy of the orientation D, it is preferable to provide the position detector 50 at a position where a horizontal distance from the swivel axis X is large.

For convenience of description, as an example, a case will be described below in which, as illustrated in FIG. 2 , the position detector 50 is mounted on the rear upper portion of the cabin 5 and is disposed at the rear of the swivel axis X and at the center in the width direction.

The tilt detector 51 is a device that detects a tilt angle of the swivel base 2 with respect to a horizontal plane. The tilt detector 51 outputs the detected tilt angle of the swivel base 2 as a signal (tilt signal) to the controller 30. In the present embodiment, the tilt detector 51 is an inertial measurement unit (IMU). The inertial measurement unit includes an acceleration sensor that detects acceleration, a gyroscope sensor that detects angular velocity, and the like. The inertial measurement unit is provided on the swivel base 2, for example, below the operator's seat 6, and can detect a roll angle, a pitch angle, a yaw angle, and the like of the swivel base 2. Note that the tilt detector 51 is not limited to the inertial measurement device described above, and may be a two axis tilt sensor as long as the tilt detector 51 can detect the roll angle and the pitch angle as the tilt angle of the swivel base 2.

The angle detector 52 is a device that detects a swivel angle θ of the swivel base 2 about the swivel axis X with respect to the lower traveling body 10. The angle detector 52 outputs the detected swivel angle θ as a signal (angle signal) to the controller 30. In the present embodiment, the angle detector 52 is a rotary encoder. In the present embodiment, the swivel angle θ is an angle formed by the straight line SL at an initial position of the swivel base 2 (for example, a position of the swivel base 2 in a case where a front portion of the working device 20 and a front portion of the lower traveling body 10 coincide with each other) and the straight line SL at a position after rotation of the swivel base 2.

Furthermore, the angle detector 52 is an incremental rotary encoder. Therefore, the angle detector 52 outputs, to the controller 30, a pulse corresponding to a rotation displacement amount of the axis as the angle signal indicating the swivel angle θ. Note that the angle detector 52 is not limited to the incremental type rotary encoder, and may be an absolute type rotary encoder. In such a case, the angle detector 52 outputs, to the controller 30, an absolute position from the origin in the form of a code corresponding to the rotation angle, as the angle signal indicating the swivel angle θ.

Note that the angle detector 52 is not limited to the rotary encoder as long as it can detect the swivel angle θ. In addition, the angle detector 52 may be provided on the swivel base 2, or may be provided on the lower traveling body 10.

The calculator 31 includes electric/electronic component(s) provided in the controller 30, program(s) incorporated in the memory 34, and/or the like. The calculator 31 calculates the orientation D of the swivel base 2, based on the detected position Pd detected by the position detector 50. Specifically, if the lower traveling body 10 stops after traveling and the swivel base 2 rotates about the swivel axis X for a first time, the calculator 31 calculates an approximate line AL of a circle or an ellipse based on a plurality of detected positions Pd obtained from the start of the rotation of the swivel base 2 to the stop (end) of the rotation. Based on the approximate line AL, the calculator 31 calculates an axis position Px of the swivel axis X (position coordinates of the swivel axis X). Based on the axis position Px and a detected position Pd (one of the detected positions Pd used for calculation of the axis position Px), the calculator 31 calculates the orientation D of the swivel base 2 (a reference orientation D1, which is a direction indicated by the distal end of the working device 20 on a straight line SL2 passing through the swivel axis X and extending in the front-rear direction when the swivel base 2 stops rotation). In the present embodiment, the calculator 31 calculates the reference orientation D1, based on the axis position Px and a reference position Pp, which is an average of any of the detected positions Pd used for calculation of the axis position Px and indicates a position obtained when the swivel base 2 stops rotation. Then, based on the swivel angle θ which is an angle of rotation from a swivel position (angular position) corresponding to the reference orientation D1 to a current swivel position (a difference between the swivel angle θ obtained when the swivel base 2 stops rotation and the current swivel angle θ) and the reference orientation D1, the calculator 31 calculates a current orientation D2 of the swivel base 2 (a direction indicated by the distal end of the working device 20 on a straight line SL3 passing through the swivel axis X and extending in the front-rear direction).

As illustrated in FIG. 3 , the calculator 31 includes a first acquirer 31 a, a second acquirer 31 b, a third acquirer 31 c, a fourth acquirer 31 d, a first determiner 31 e, a filter processor 31 f, a second determiner 31 g, a third determiner 31 h, and a fourth determiner 31 i. The first acquirer 31 a, the second acquirer 31 b, the third acquirer 31 c, the fourth acquirer 31 d, the first determiner 31 e, the filter processor 31 f, the second determiner 31 g, the third determiner 31 h, and the fourth determiner 31 i include electric/electronic component(s) provided in the controller 30, program(s) incorporated in the memory 34, and/or the like.

The first acquirer 31 a acquires the vehicle speed of the lower traveling body 10, based on the vehicle speed signal output from the vehicle speed detector 53 to the controller 30. The first acquirer 31 a acquires the vehicle speed, based on the vehicle speed signal and an arithmetic expression, an arithmetic map, or the like stored in the memory 34. For example, the first acquirer 31 a acquires the vehicle speed in a case where the lower traveling body 10 travels forward as a positive value and acquires the vehicle speed in a case where the lower traveling body 10 travels backward as a negative value among vehicle speeds detected by the vehicle speed detector 53.

The second acquirer 31 b acquires the position information (position coordinates) of the detected positions Pd, based on position signals output from the position detector 50 to the controller 30. The second acquirer 31 b acquires the detected positions Pd detected by the position detector 50 as position coordinates, based on the position signals and the arithmetic expression or the like stored in the memory 34. Note that the second acquirer 31 b stores the position information and the times at which the position detector 50 detects the detected positions Pd in the memory 34 in association with each other.

The third acquirer 31 c acquires the roll angle and the pitch angle of the swivel base 2, based on the tilt signal output from the tilt detector 51 to the controller 30. The third acquirer 31 c acquires the roll angle and the pitch angle, based on tilt signal and the arithmetic expression or the like stored in the memory 34.

The fourth acquirer 31 d acquires the rotation direction and the swivel angle θ of the swivel base 2, based on an angle signal output from the angle detector 52 to the controller 30. The fourth acquirer 31 d acquires a rotation direction and the swivel angle θ, based on the angle signal and the arithmetic expression or the like stored in the memory 34.

For example, the fourth acquirer 31 d acquires the rotation direction of the swivel base 2, based on output timings of an A-phase pulse and a B-phase pulse input from the angle detector 52. The fourth acquirer 31 d also acquires the swivel angle θ by counting the pulses input from the angle detector 52 with the case where the swivel base 2 is located at a predetermined initial position as zero. Therefore, the fourth acquirer 31 d can redefine the initial position by initializing (resetting) the count. The initial position is a predetermined position, and is a rotation position of the swivel base 2 in a case where the fourth acquirer 31 d initializes the count at a given timing. In addition, the fourth acquirer 31 d acquires, with the swivel angle θ at the initial position as zero, the swing angle θ in a case where the swivel base 2 rotates counterclockwise in plan view as a positive value, and the swivel angle θ in a case where the swivel base 2 rotates clockwise in plan view as a negative value.

The first determiner 31 e extracts detected positions Pd satisfying a predetermined condition from the detected positions Pd detected by the position detector 50, as detected positions Pd (candidate positions Pc) to be used for calculation of the orientation D. In the present embodiment, the candidate positions Pc are detected positions Pd from the start of rotation to the stop of the rotation in a case where the lower traveling body 10 stops after traveling and the swivel base 2 rotates for the first time.

The first determiner 31 e determines that the lower traveling body 10 is traveling (in a traveling state) if the absolute value of the vehicle speed acquired by the first acquirer 31 a exceeds a predetermined first threshold (for example, zero). The first determiner 31 e also determines that the lower traveling body 10 is stopped (in a non-traveling state) if the absolute value of the vehicle speed acquired by the first acquirer 31 a is lower than or equal to the predetermined first threshold.

Here, during work with the swiveling work machine 1, the operator operates the swiveling work machine 1 to move the lower traveling body 10 to the work site, and then rotates the swivel base 2. Therefore, the first determiner 31 e can extract the candidate positions Pc satisfying the above-described condition while the operator performs usual work, without performing a special operation before performing the work.

The first determiner 31 e determines that the lower traveling body 10 is rotating (in a rotating state) if the absolute value of a change amount of the swivel angle θ acquired by the fourth acquirer 31 d exceeds a predetermined second threshold. The first determiner 31 e also determines that the lower traveling body 10 is stopped (in a rotation stopped state) if the absolute value of the change amount of the swivel angle θ acquired by the fourth acquirer 31 d is lower than or equal to the predetermined second threshold. In the present embodiment, the second threshold is zero, and the first determiner 31 e determines that the swivel base 2 is in the rotating state if the pulse is input from the angle detector 52, and determines that the swivel base 2 is in the rotation stopped state if the pulse is not input from the angle detector 52.

Therefore, if the lower traveling body 10 has transitioned from the rotation stopped state to the rotating state and the pulse is input from the angle detector 52, the first determiner 31 e determines that the swivel base 2 starts rotation. On the other hand, if the lower traveling body 10 has transitioned from the rotating state to the rotation stopped state and the pulse is not input from the angle detector 52, the first determiner 31 e determines that the swivel base 2 stops rotation.

The condition of the candidate positions Pc is not limited to the above-described condition, and the first determiner 31 e may determine, as the candidate positions Pc, detected positions Pd within a predetermined time before the swivel base 2 starts rotation and detected positions Pd within a predetermined time after the swivel base 2 stops rotation.

Furthermore, in the following description, when the first determiner 31 e determines the candidate positions Pc, the change amount of the swing angle θ from the start of rotation of the swivel base 2 to the stop of the rotation may be described as a “reference angle θb”. That is, as illustrated in FIG. 5 , the reference angle θb is an angle formed by a straight line SL1 extending in the front-rear direction passing through the swivel axis X and the straight line SL2 in a case where the swivel base 2 starts rotation.

In the following description, a detected position Pd acquired by the second acquirer 31 b when the first determiner 31 e determines that the swivel base 2 stops rotation may be referred to as a “stop position Pe”.

In the above-described example, the first determiner 31 e determines whether the lower traveling body 10 has transitioned from the traveling state to the non-traveling state, based on the vehicle speed acquired by the first acquirer 31 a. However, if the controller can acquire operation information of the operation device 40, the first determiner 31 e may determine the state (the traveling state and the non-traveling state) of the lower traveling body 10, based on the operation information. The first determiner 31 e may also determine whether the swivel base 2 has started rotation and whether the swivel base 2 has stopped the rotation, based on the angle signal output from the angle detector 52 to the controller 30. However, when the controller 30 can acquire the operation information of the operation device 40, the first determiner 31 e may determine the state (the rotating state and the rotation stopped state) of the swivel base 2, based on the operation information.

The filter processor 31 f performs filtering (filter processing) of the plurality of candidate positions Pc (detected positions Pd) obtained during rotation of the swivel base 2. The filter processor 31 f excludes candidate positions Pc located outside a predetermined area E. FIG. 6A is a first diagram illustrating an example of filtering performed by the filter processor 31 f. FIG. 6B is a second diagram illustrating the example of the filtering performed by the filter processor 31 f.

The area E is a region of position coordinates indicated by latitude and longitude, and is a substantially arc-shaped region including an arc having a radius equal to the distance R1 from the swivel axis X to the position P′ detected by the position detector 50, as illustrated in FIG. 6A. In FIGS. 6A and 6B, candidate positions Pc located within the area E are indicated by black dots, and candidate positions Pc located outside the area E are indicated by white dots.

The magnitude of a central angle θe of the area E corresponds to the reference angle θb. Note that the magnitude of the central angle θe of the area E may correspond to the reference angle θb, and may be greater than the reference angle θb by a predetermined value. The dimension (width W) of the area E in a radial direction is a dimension defined according to error(s) in the detected positions Pd detected by the position detector 50. For example, the width W is twice the magnitude of an error in a detected position Pd detected by the position detector 50.

Note that the width W is preferably a value corresponding to the magnitude of errors of the detected positions Pd, and is not limited to twice. In addition, the width W may be a value stored in advance in the memory 34 and may be freely changed by the operator operating the display 35 or the like. Therefore, if the operator operates the display 35 or the like to reduce the width W, the accuracy of the determination of the axis position Px can be improved.

The filter processor 31 f calculates the area E, based on an arithmetic expression (first arithmetic expression) stored in the memory 34 and various parameters (the distance R1, the width W, the reference angle θb, etc.). The arithmetic expression is a mathematical expression defined based on an equation of a circle or an ellipse and various parameters. In addition, the filter processor 31 f corrects the area E, based on the tilt angle (the roll angle and the pitch angle) detected by the tilt detector 51. The filter processor 31 f corrects the area E, based on an arithmetic expression (second arithmetic expression) stored in the memory 34 and the tilt angle.

Therefore, if the swivel base 2 is horizontal and the tilt angle acquired by the third acquirer 31 c is zero, as illustrated in FIG. 6A, the area E is a region surrounded by a circle (outer circle) C1 whose radius R2 is greater than the distance R1 by ½ times of the width W and a circle (inner circle) C2 whose radius R3 is smaller than the distance R1 by ½ times of the width W and having the central angle θe equal to the reference angle θb. The outer circle C1 and the inner circle C2 are arranged concentrically and are each a perfect circle.

The filter processor 31 f corrects a reference area Eb, based on the tilt angle, with the area E in a case where the swivel base 2 is horizontal as the reference area Eb. Therefore, if the swiveling work machine 1 is located on a slope, the swivel base 2 is tilted, and the tilt angle (the roll angle and the pitch angle) acquired by the third acquirer 31 c is other than zero, the filter processor 31 f corrects the reference area Eb to a region tilted by the tilt angle. That is, the outer circle C1 and the inner circle C2 are arranged concentrically and are each an ellipse.

Furthermore, the filter processor 31 f moves the calculated area E such that more candidate positions Pc are located within the area E, and performs sweeping by excluding candidate positions Pc located outside the area E.

In the above-described embodiment, the filter processor 31 f calculates the reference area Eb, based on the first arithmetic expression and various parameters, and corrects the reference area Eb, based on the second arithmetic expression and the tilt angle. However, the memory 34 may store a single arithmetic expression obtained by combining the first arithmetic expression and the second arithmetic expression, and the filter processor 31 f may calculate the area E, based on the single arithmetic expression and various parameters (the distance R1, the width W, the reference angle θb, and the tilt angle).

The second determiner 31 g determines (calculates) a circular or elliptic approximate line AL, based on the plurality of candidate positions Pc (detected positions Pd) having been subjected to filtering by the filter processor 31 f The second determiner 31 g determines the approximate line AL using an approximate expression of a coordinate system based on latitude and longitude. FIG. 7A is a first diagram illustrating an example of an approximate line AL determined by the second determiner 31 g. FIG. 7B is a second diagram illustrating an example of an approximate line AL determined by the second determiner 31 g.

The second determiner 31 g determines the approximate line AL of the plurality of detected positions Pd obtained during rotation of the swivel base 2, using the least squares method using an equation of a circle or an ellipse. The model function in the least squares method is an arithmetic expression obtained by correcting an equation of an ellipse based on the tilt angle, and is used after substitution of parameters (distance R1, tilt angle).

Therefore, if the swivel base 2 is horizontal and the tilt angle acquired by the third acquirer 31 c is zero, as illustrated in FIG. 7A, the approximate line AL determined by the second determiner 31 g is a perfect circle having a radius equal to the distance R1. On the other hand, if the swivel base 2 is tilted and the tilt angle (the roll angle and the pitch angle) acquired by the third acquirer 31 c is other than zero, as illustrated in FIG. 7B, the approximate line AL determined by the second determiner 31 g is an ellipse obtained by correcting the perfect circle having a radius equal to the distance R1 by using the tilt angle.

Based on the approximate line AL determined by the second determiner 31 g, the third determiner 31 h determines (calculates) a position (center position) Po of the center of the approximate line AL as the axis position Px of the swivel axis X. Based on the determined axis position Px and the reference position Pp, the third determiner 31 h determines the straight line SL2 passing through the axis position Px and the reference position Pp as the orientation D (the reference orientation D1) of the swivel base 2. FIG. 8 is a diagram illustrating an example of a reference orientation D1 determined by the third determiner 31 h and a current orientation D2 determined by the fourth determiner 31 i.

The third determiner 31 h determines the reference orientation D1 using a mathematical expression of a coordinate system based on latitude and longitude. The third determiner 31 h extracts, from the detected positions Pd detected by the position detector detected positions Pd (end positions Pa) including at least the stop position Pe, and, based on the detected positions Pd, determines the reference position Pp. The end positions Pa are a plurality of detected positions Pd acquired by the second acquirer 31 b within a predetermined time before and after a time point when the first determiner 31 e determines that the swivel base 2 stops rotation. The third determiner 31 h determines the reference position Pp, based on an average value of pieces of position information of the plurality of end positions Pa.

In FIG. 8 , the end positions Pa are indicated by white dots, and the reference position Pp is indicated by a black dot.

In the present embodiment, as the reference position Pp, the third determiner 31 h determines the average value of the plurality of pieces of position information. However, the third determiner 31 h need only determine the reference position Pp based on detected positions Pd including at least the stop position Pe. Detected position(s) Pd (end position(s) Pa) referred to by the third determiner 31 h may be only the stop position Pe or may be two or more detected positions Pd including the stop position Pe.

Upon determining the reference orientation D1, the third determiner 31 h initializes the count of the fourth acquirer 31 d and redefines the initial position. That is, at the redefined initial position, a straight line passing through the swivel axis X and extending in the front-rear direction is the straight line SL2.

Based on the reference orientation D1 and the swivel angle θ, the fourth determiner 31 i determines (calculates) the current orientation D2 of the swivel base 2. Based on the swivel angle θ from the swivel position corresponding to the reference orientation D1 to the current swivel position (the difference between the swivel angle θ obtained when the swivel base 2 stops rotation and the current swivel angle θ) and the reference orientation D1, the fourth determiner 31 i determines the current orientation D2 of the swivel base 2. In the present embodiment, since the count of the fourth acquirer 31 d is initialized and the initial position is redefined by the third determiner 31 h, the swivel angle θ obtained when the swivel base 2 stops rotation is zero.

Based on the current swivel angle θ and the reference orientation D1, the fourth determiner 31 i determines the current orientation D2 of the swivel base 2 using a mathematical expression of a coordinate system based on latitude and longitude. In the present embodiment, the current swivel angle θ is an angle formed by the straight line SL3, passing through the swivel axis X at the current position and extending in the front-rear direction, and the straight line SL2. Based on the current swivel angle θ and the reference orientation D1, the current orientation D2 of the swivel base 2 is determined by a mathematical expression of a coordinate system based on latitude and longitude. That is, if the swivel angle θ acquired by the second acquirer 31 b is a positive value, the fourth determiner 31 i determines the current orientation D2 by angling the reference orientation D1 counterclockwise by the change amount about the axis position Px. On the other hand, if the swivel angle θ acquired by the second acquirer 31 b is a negative value, the fourth determiner 31 i determines the current orientation D2 by angling the reference orientation D1 clockwise by the change amount about the axis position Px.

FIG. 9 is a flowchart in which the calculator 31 calculates the orientation D. Referring to FIG. 9 , the following describes extraction of the candidate positions Pc by the first determiner 31 e, filtering of the candidate positions Pc by the filter processor 31 f, determination of the approximate line AL by the second determiner 31 g, determination of the axis position Px and the reference orientation D1 by the third determiner 31 h, and determination of the current orientation D2 by the fourth determiner 31 i.

First, based on the vehicle speed acquired by the first acquirer 31 a, the first determiner 31 e determines whether the lower traveling body 10 is in the traveling state (S10). If the first determiner 31 e determines that the lower traveling body 10 is in the traveling state (S10, Yes), based on the vehicle speed acquired by the first acquirer 31 a, the first determiner 31 e determines whether the lower traveling body 10 has transitioned from the traveling state to the non-traveling state (S11). If the first determiner 31 e determines that the lower traveling body 10 has not transitioned from the traveling state to the non-traveling state (S11, No), step S11 is continued. If the first determiner 31 e determines that the lower traveling body 10 has transitioned from the traveling state to the non-traveling state (S11, Yes), based on the angle signal acquired by the fourth acquirer 31 d, the first determiner 31 e determines whether the swivel base 2 has started rotation (S12).

If the first determiner 31 e determines that the swivel base 2 has not started rotation (S12, No), step S12 is continued. If the first determiner 31 e determines that the swivel base 2 has started rotation (S12, Yes), the position detector 50 detects detected positions Pd (S13). The second acquirer 31 b stores the position information detected by the position detector 50 in the memory 34. Based on the angle signal acquired by the fourth acquirer 31 d, the first determiner 31 e determines whether the swivel base 2 has stopped the rotation (S14).

If the first determiner 31 e determines that the swivel base 2 has not stopped the rotation (S14, No), that is, until the swivel base 2 stops the rotation, step S13 is performed. On the other hand, if the first determiner 31 e determines that the swivel base 2 has stopped the rotation (S14, Yes), the first determiner 31 e extracts the position information acquired by the second acquirer 31 b from the memory 34 during a period (swivel period) from when the first determiner 31 e determines that the swivel base 2 has started rotation (S12, Yes) to when the first determiner 31 e determines that the swivel base 2 has stopped the rotation (S14, Yes), and determines the position information as the candidate positions Pc (S15). Therefore, upon stopping of the lower traveling body 10 after traveling, the first determiner 31 e can determines the candidate positions Pc by swiveling of the swivel base 2.

In the following description, steps as in S12 to S14 in which the swivel base 2 rotates about the swivel axis X and the position detector 50 detects the plurality of detected positions Pd may be referred to as a first step.

Upon the first determiner 31 e performing step S15, based on the first arithmetic expression and various parameters, the filter processor 31 f calculates the area E (S16). Upon calculating the area E (S16), the filter processor 31 f moves the area E such that more candidate positions Pc are located within the area E (S17). The filter processor 31 f excludes the candidate positions Pc located outside the area E to perform sweeping (S18).

Upon the filter processor 31 f performing step S18, the second determiner 31 g determines the approximate line AL of the plurality of candidate positions Pc filtered by the filter processor 31 f using the least squares method using an equation of a circle or an ellipse (S19).

Upon the second determiner 31 g performing step S19, based on the approximate line AL calculated by the second determiner 31 g, the third determiner 31 h determines the center position Po of the approximate line AL as the axis position Px of the swivel axis X (S20). In other words, S20 is a step (second step) of calculating, based on the plurality of detected positions Pd detected by the position detector 50 in the first step, the axis position Px of the swivel axis X (S13). The third determiner 31 h extracts, from the detected positions Pd detected by the position detector 50, the detected positions Pd (the end positions Pa) including at least the stop position Pe, and, based on the detected positions Pd, determines the reference position Pp (S21).

Based on the axis position Px determined in S20 and the reference position Pp determined in S21, the third determiner 31 h determines the straight line passing through the axis position Px and the reference position Pp as the orientation D (the reference orientation D1) of the swivel base 2 and stores the reference orientation D1 in the memory 34 (S22). That is, S22 is a step of calculating, based on the axis position Px calculated in the second step and the reference position Pp, the orientation D of the swivel base 2 (third step).

Upon determining the reference orientation D1 (S22), the third determiner 31 h initializes the count of the fourth acquirer 31 d and redefines the initial position (S23). Upon the third determiner 31 h stopping step S23, the first determiner 31 e performs step S10.

If the first determiner 31 e determines that the lower traveling body 10 is in the non-traveling state (S10, No), the fourth determiner 31 i determines whether the axis position Px and the reference orientation D1 are stored in the memory 34 (S24). If the fourth determiner 31 i determines that the axis position Px and the reference orientation D1 are stored in the memory 34 (S24, Yes), based on the axis position Px and the reference orientation D1 stored in the memory 34 and the swivel angle θ acquired by the fourth acquirer 31 d, the fourth determiner 31 i determines the current orientation D2 (S25).

Upon the fourth determiner 31 i determining the current orientation D2 (S25), the process is stopped. If the fourth determiner 31 i determines that the axis position Px and the reference orientation D1 are not stored in the memory 34 (S24, No), the first determiner 31 e performs step S10.

Therefore, when the lower traveling body 10 enters the traveling state (S10, Yes), the reference orientation D1 is redefined through steps S11 to S22. On the other hand, if the lower traveling body 10 is maintained in the non-traveling state (S10, No) and the axis position Px and the reference orientation D1 are stored in the memory 34 (S24, Yes), based on the reference orientation D1 determined through steps S11 to S22, the fourth determiner 31 i determines the current orientation D2 (S25).

Thus, even if the swiveling work machine 1 includes the single position detector the orientation D of the swivel base 2 can be calculated. Therefore, the function of calculating the orientation D of the swivel base 2 (the swiveling work machine 1) can be introduced at low cost. In addition, since the current orientation D2 is calculated based on the reference orientation D1 and the swivel angle θ, detection errors of the position detector 50 do not occur after calculation of the reference orientation D1, and the calculator 31 can calculate the current orientation D2 with higher accuracy.

Next, calculation of the position Pw of the swing body in the swiveling work machine 1 will be described in detail. As illustrated in FIG. 3 , the swiveling work machine 1 includes a position calculator 32. The position calculator 32 includes electric/electronic component(s) provided in the controller 30, program(s) incorporated in the memory 34, and/or the like. The position calculator 32 can calculate the position Pw of the swing body, based on a signal detected by a sensor provided in the swiveling work machine 1 and the orientation D (the current orientation D2) of the swivel base 2 calculated by the calculator 31. The position Pw of the swing body calculated by the position calculator 32 is displayed on the display 35, for example. In addition, the swiveling work machine 1 may be configured to autonomously perform work, based on the position Pw of the swing body calculated by the position calculator 32 and the position information stored in the memory 34.

FIG. 10 illustrates how to determine the position Pw of the swing body. As illustrated in FIG. 10 , in the present embodiment, the position calculator 32 calculates the position (work position) Pw at which the working device 20 performs work as the position Pw of the swing body. In particular, the position calculator 32 calculates the position coordinates of the bucket claw 25C of the swing body as the work position Pw. Note that the work position Pw calculated by the position calculator 32 is not limited to the position coordinates of the bucket claw 25C, and may be a central portion or the like of the bottom wall 25B of the bucket 25.

For example, the working device 20 is provided with an angle sensor 54 (a boom angle sensor 54 a, an arm angle sensor 54 b, a working tool angle sensor 54 c, and a swing angle sensor 54 d) that detect rotation angles of the first rotation axis 22, the second rotation axis 24, and the third rotation axis 26. The angle sensor 54 is, for example, a potentiometer that is connected to the controller 30 and outputs the detected rotation angle to the controller 30 as a signal.

Specifically, the boom angle sensor 54 a detects a swing angle (rotation position) of the boom 21, and the arm angle sensor 54 b detects a swing angle (rotation position) of the arm 23. The working tool angle sensor 54 c detects a swing angle (rotation position) of the bucket 25 with respect to the distal end of the arm 23, and the swing angle sensor 54 d detects a swing angle (rotation position) of the swing bracket 8 with respect to the support bracket 7.

Based on the rotation angle detected by the angle sensor 54 and the arithmetic expression stored in the memory 34, the position calculator 32 calculates distances (a distance L2 in the front-rear direction and a distance L3 in the width direction) from the swivel axis X to the work position Pw. The position calculator 32 determines the work position Pw based on the calculated distances L2 and L3, the tilt angle acquired by the third acquirer 31 c, a mathematical expression indicating the current orientation D2, and the axis position Px.

As long as the position calculator 32 can determine the work position Pw, the angle sensor 54 may detect strokes (extension positions) of the boom cylinder 21 a, the arm cylinder 23 a, the bucket cylinder 25 a, and the swing cylinder, and may calculate swing angles of the boom 21, the arm 23, the bucket 25, and the swing bracket 8 from the detection results. In addition, the swing angles of the boom 21, the arm 23, the bucket 25, and the swing bracket 8 may be detected by using an imaging device (camera) that images the periphery of the working device 20.

In the above-described embodiment, when the lower traveling body 10 enters the traveling state (S10, Yes), the calculator 31 redefines the reference orientation D1 through steps S11 to S22. However, if a predetermined condition is satisfied, initialization of the reference orientation D1 may be skipped. FIG. 11 is a diagram for describing calculation of the orientation D in a first modification example. As illustrated in FIG. 11 , when the lower traveling body 10 has transitioned from the non-traveling state to the traveling state and travels straight forward or backward from the position at which the calculator 31 determines the reference orientation D1, the calculator 31 may correct the axis position Px without updating the reference orientation D1 if the swivel angle θ of the swivel base 2 is maintained.

FIG. 12 is a partial flowchart in which the calculator 31 calculates the orientation D in the first modification example. As illustrated in FIG. 12 , during a period (movement period) from when the first determiner 31 e determines that the lower traveling body 10 is in the traveling state in S10 to when the first determiner 31 e determines that the lower traveling body 10 has transitioned from the traveling state to the non-traveling state (S11, Yes), if the lower traveling body 10 continues to move forward or backward in the straight traveling direction and does not perform a swiveling operation, the calculator 31 performs the processing of correcting the axis position Px.

FIG. 13 is a diagram for describing a system of the swiveling work machine 1 in the first modification example. As illustrated in FIG. 13 , the calculator 31 includes a corrector 31 j. The corrector 31 j corrects the axis position Px, based on the position information of the detected positions Pd detected by the position detector 50 at a start point S and an end point G of the movement period if the swivel base 2 does not rotate and the lower traveling body 10 continues to travel straight during the movement period.

The corrector 31 j determines whether the swivel angle θ of the swivel base 2 is maintained based on the swivel angle θ acquired by the fourth acquirer 31 d. The corrector 31 j also determines whether the lower traveling body 10 maintains straight traveling or performs swiveling traveling based on the operation information of the operation device 40. The corrector 31 j acquires position information of a detected position Ps at the start point S and position information of a detected position Pg at the end point G during the movement period, based on the position information of the detected positions Pd acquired by the second acquirer 31 b.

In addition, the corrector 31 j calculates distances (a movement distance Lx in the longitudinal direction and a movement distance Ly in the latitudinal direction) by which the lower traveling body 10 has moved during the movement period, based on the position information of the detected position Ps at the start point S and the position information of the detected position Pg at the end point G. Then, the corrector 31 j corrects the axis position Px by offsetting the axis position Px by the same amount as the movement distances Lx and Ly by which the lower traveling body 10 has moved. The corrector 31 j stores the corrected axis position Px by overwriting the axis position Px stored in the memory 34.

The correction of the axis position Px by the corrector 31 j will be described below with reference to FIG. 12 .

As illustrated in FIG. 12 , if the first determiner 31 e determines that the lower traveling body 10 is in the traveling state (S10, Yes), the corrector 31 j determines whether the swivel angle θ of the swivel base 2 is maintained based on the swivel angle θ acquired by the fourth acquirer 31 d (S31). If it is determined that the swivel angle θ of the swivel base 2 is maintained (S31, Yes), the corrector 31 j determines whether the lower traveling body 10 is traveling straight based on the operation information of the operation device 40 (S32).

If the corrector 31 j determines that the lower traveling body 10 is traveling straight (S32, Yes), based on the vehicle speed acquired by the first acquirer 31 a, the corrector 31 j determines whether the lower traveling body 10 has transitioned from the traveling state to the non-traveling state (S33). If the corrector 31 j determines that the lower traveling body 10 has not transitioned from the traveling state to the non-traveling state (S33, No), the corrector 31 j performs step S31. On the other hand, if the corrector 31 j determines that the lower traveling body 10 has transitioned from the traveling state to the non-traveling state (S33, Yes), the corrector 31 j acquires the position information of the detected position Ps at the start point S and the position information of the detected position Pg at the end point G during the movement period, based on the position information acquired by the second acquirer 31 b and stored in the memory 34 (S34).

The corrector 31 j calculates the movement distances Lx and Ly by which the lower traveling body 10 has moved during the movement period, based on the position information of the detected position Ps at the start point S and the position information of the detected position Pg at the end point G, and corrects the axis position Px by offsetting the axis position Px by the same amount as the movement distances Lx and Ly by which the lower traveling body 10 has moved (S35). Upon the corrector 31 j correcting the axis position Px (S35), the fourth determiner 31 i performs step S24.

If the corrector 31 j determines that the swivel angle θ of the swivel base 2 is not maintained (S31, No), and if the corrector 31 j determines that the lower traveling body 10 is traveling while swiveling (S32, No), the first determiner 31 e performs step S11.

In the example illustrated in FIG. 12 , it is determined in S31 whether the swivel angle θ of the swivel base 2 is maintained. However, the swivel angle θ at the start point S and the swivel angle θ at the end point G during the movement period may be the same value, and the corrector 31 j may determine whether the swivel angle θ at the start point S and the swivel angle θ at the end point G during the movement period are the same value between S33 and S34 instead of S31. In such a case, if the corrector 31 j determines that the swivel angle θ at the start point S and the swivel angle θ at the end point G during the movement period are the same value, the corrector 31 j performs step S34, and if the corrector 31 j determines that they are not the same value, the first determiner 31 e performs step S11.

If the lower traveling body 10 stops after traveling, the calculator 31 calculates the reference orientation D1 by the swiveling of the swivel base 2. However, if the change amount of the swivel angle θ of the swivel base 2 (the reference angle θb) is less than or equal to a predetermined third reference value, the calculator 31 may perform the calculation processing of the reference orientation D1 again. FIG. 14 is a partial flowchart in which the calculator 31 calculates the orientation D in a second modification example. Referring to FIG. 14 , the following describes the process performed by the first determiner 31 e in the second modification example.

Specifically, as illustrated in FIG. 14 , if the lower traveling body 10 stops after traveling (S11, Yes), the swivel base 2 starts rotation (S12, Yes), and even if the swivel base 2 stops the rotation (S14, Yes), the first determiner 31 e returns to step S12 upon determining that the absolute value of the reference angle θb is less than or equal to the third threshold (S41, No). In such a case, the controller 30 may notify the operator that the determination of the reference orientation D1 is to be performed again.

On the other hand, if the swivel base 2 stops the rotation (S14, Yes) and the first determiner 31 e determines that the absolute value of the reference angle θb exceeds the third threshold (S41, Yes), the process proceeds to step S15. The third threshold is a value stored in advance in the memory 34 and is, for example, 5° or 10°. Note that the operator may change the third threshold to any value by operating the display 35 or the like.

A notification device is, for example, a device connected to the controller 30, and is the display 35 in the present embodiment.

As illustrated in FIG. 13 , the calculator 31 includes a notification controller 33. If the first determiner 31 e determines that the absolute value of the reference angle θb is less than or equal to the third threshold (S41, No), the notification controller 33 acquires the determination result and controls the notification device to notify the operator. The notification controller 33 includes electric/electronic component(s) provided in the controller 30, program(s) incorporated in the memory 34, and/or the like. For example, the notification controller 33 causes the display 35 to display a notification screen (omitted from illustration) to notify the operator that the determination of the reference orientation D1 is to be performed again. Specifically, the notification screen displays a message (notification message) prompting the operator to operate the operation device 40 to rotate the swivel base 2.

In the above-described embodiment, the case where the notification device is the display 35 has been described as an example. However, the notification device is not limited to the display 35, and may be a speaker that notifies the operator by voice or warning sound, or a lamp that notifies the operator by lighting or blinking. In such a case, if the first determiner 31 e determines that the absolute value of the reference angle θb is less than or equal to the third threshold (S41, No), the notification controller 33 causes the speaker to output a notification message or causes the lamp to blink.

The swiveling work machine 1 may also include an operation actuator 41 for receiving an operation, and the calculator 31 may redefine (initialize) the reference orientation D1 by performing substantially the same steps as steps S11 and S12 in place of or in addition to steps S11 to S22 according to the operation of the operation actuator 41. FIG. 15 is a diagram for describing a system of the swiveling work machine 1 in a third modification example. As illustrated in FIG. 15 , the operation actuator 41 is a switch that is communicably connected to the controller 30 and receives an operation. Upon receiving an operation, the operation actuator 41 outputs an instruction signal for instructing the controller 30 to rotate the swivel base 2 by a predetermined swivel angle θ (for example, 5° or more, 10° or more, or the like) to the controller 30. The operation actuator 41 is, for example, a push switch that can be pressed. Note that the operation actuator 41 is not limited to the push switch, and may be a displayed image such as an icon displayed on the display 35 if the display 35 is a touch panel that receives an operation.

The calculator 31 further includes a swivel controller 31 k. The swivel controller 31 k controls a control valve in response to the operation of the operation actuator 41, and rotates the swivel base 2 by a predetermined swivel angle θ in a predetermined direction by using the swivel motor MT. The direction in which the swivel controller 31 k rotates the swivel base 2 in response to the operation of the operation actuator 41 and the swivel angle θ may be stored in advance in the memory 34 as setting information, and the operator may change them to any values by operating the display 35 or the like. Note that the swivel controller 31 k may maintain the swivel angle θ after rotating the swivel base 2 by the predetermined swivel angle θ in the predetermined direction based on the instruction signal input from the operation actuator 41, or may rotate the swivel base 2 in a direction opposite to the predetermined direction so as to return to the original swivel angle θ after step S54 described later is completed.

FIG. 16 is a partial flowchart in which the calculator 31 calculates the orientation D in the third modification example. Referring to FIG. 16 , the following describes calculation of the orientation D by the calculator 31 performed in response to the operation of the operation actuator 41.

If the first determiner 31 e determines that the lower traveling body 10 is in the non-traveling state in S10 (S10, No), the swivel controller 31 k determines whether the instruction signal is input from the operation actuator 41 (S51). If the swivel controller 31 k determines that the instruction signal is input from the operation actuator 41 (S51, Yes), based on the setting information stored in the memory 34, the swivel controller 31 k controls the swivel motor MT and starts to rotate the swivel base 2 in the predetermined direction (S52).

Upon the swivel controller 31 k starting to rotate the swivel base 2 (S52), the position detector 50 detects the detected positions Pd (S53). The second acquirer 31 b stores the position information detected by the position detector 50 in the memory 34. Based on the angle signal acquired by the fourth acquirer 31 d, the first determiner 31 e determines whether the swivel base 2 has stopped the rotation (S54).

If the first determiner 31 e determines that the swivel base 2 has not stopped the rotation (S54, No), that is, until the swivel base 2 stops the rotation, step S53 is performed. On the other hand, if the first determiner 31 e determines that the swivel base 2 has stopped the rotation (S54, Yes), the first determiner 31 e extracts the position information acquired by the second acquirer 31 b from the memory 34 during a period (swivel period) from when the swivel controller 31 k starts to rotate the swivel base 2 (S52) to when the first determiner 31 e determines that the swivel base 2 has stopped the rotation (S54, Yes), and determines the position information as the candidate positions Pc (S55). Therefore, the first determiner 31 e can determine the candidate positions Pc by the swivel controller 31 k rotating the swivel base 2 according to the operation of the operation actuator 41. Upon the first determiner 31 e performing step S55, the filter processor 31 f performs step S16.

If the swivel controller 31 k determines that the instruction signal is not input from the operation actuator 41 (S51, No), the fourth determiner 31 i performs step S24.

Note that S52 to S54 may be referred to as the first step because the swivel base 2 rotates about the swivel axis X and the position detector 50 detects the plurality of detected positions Pd.

A swiveling work machine 1 as has been described includes: a swivel base 2 rotatable about a swivel axis X extending in an up-down direction; a working device 20 provided on the swivel base 2; a position detector 50 provided on the swivel base 2 to detect a position; and a calculator 31 to calculate an orientation D of the swivel base 2 based on a detected position Pd which is the position detected by the position detector 50, wherein the calculator 31 is configured or programmed to calculate an axis position Px which is a position of the swivel axis X based on a plurality of the detected positions Pd obtained during rotation of the swivel base 2 about the swivel axis X, and calculate the orientation D of the swivel base 2 based on the axis position Px and the detected position (reference position) Pp.

With the above configuration, even if the swiveling work machine 1 includes only a single position detector 50, the orientation D of the swivel base 2 can be calculated. Therefore, the function of calculating the orientation D of the swivel base 2 (the swiveling work machine 1) can be introduced at low cost.

The calculator 31 may be configured or programmed to calculate the axis position Px of the swivel axis X based on a plurality of the detected positions Pd obtained during a period from when the swivel base 2 starts the rotation to when the swivel base 2 stops the rotation.

With the above configuration, many of the detected positions Pd obtained during rotation of the swivel base 2 are used for calculation, and distances between the detected positions Pd can be increased. Therefore, the calculator 31 can calculate the axis position Px of the swivel axis X with high accuracy.

The swiveling work machine 1 may further include an angle detector 52 provided in or on the swivel base 2 to detect a swivel angle θ which is an angle of rotation of the swivel base 2 about the swivel axis X. The calculator 31 may be configured or programmed to calculate a current orientation D2 of the swivel base 2 based on a reference orientation D1 and the swivel angle θ which is an angle of rotation from a swivel position corresponding to the reference orientation D1 to a current swivel position, the reference orientation D1 being the orientation D of the swivel base 2 calculated based on the axis position Px and on one of the plurality of detected positions Pd used to calculate the axis position Px.

With the above configuration, since the current orientation D2 is calculated based on the reference orientation D1 and the swivel angle θ, even if errors occur in position detection by the position detector 50 after calculation of the reference orientation D1, this does not affect the current orientation D2, and therefore the calculator 31 can calculate the current orientation D2 with higher accuracy.

The calculator 31 may be configured or programmed to calculate the axis position Px of the swivel axis X based on a plurality of the detected positions Pd obtained during a period from when the swivel base 2 starts the rotation to when the swivel base 2 stops the rotation, and calculate the current orientation D2 of the swivel base 2 based on the reference orientation D1 and on a difference between a swivel angle θ obtained when the swivel base 2 stops the rotation and a current swivel angle θ.

With the above configuration, the calculator 31 can calculate the current orientation D2 with high accuracy by a relatively simple process.

The calculator 31 may include a filter processor 31 f configured or programmed to filter the plurality of detected positions Pd obtained during the rotation of the swivel base 2. The filter processor 31 f may be configured or programmed to exclude one or more of the plurality of detected positions Pd that are located outside a substantially arc-shaped area E including an arc having a radius equal to a distance from the swivel axis X to the position detected by the position detector 50.

With the above configuration, it is possible to exclude one or more of the detected positions Pd that have been erroneously detected by the position detector 50. Therefore, the calculation accuracy of the orientation D can be improved.

The swiveling work machine 1 may further include a tilt detector 51 to detect a tilt angle of the swivel base 2. The filter processor 31 f may be configured or programmed to correct the area E based on the tilt angle detected by the tilt detector 51.

With the above configuration, the filter processor 31 f can improve the accuracy of filtering even if the swiveling work machine 1 is located on a slope.

The calculator 31 may be configured or programmed to calculate a circular or elliptic approximate line AL based on the plurality of detected positions Pd obtained during the rotation of the swivel base 2, and calculate the axis position Px based on the approximate line AL.

With the above configuration, the calculator 31 can calculate the axis position Px of the swivel axis X with high accuracy.

The calculator 31 may be configured or programmed to calculate, using a least squares method using an equation of a circle or an ellipse, the approximate line AL of the plurality of detected positions Pd obtained during the rotation of the swivel base 2.

With the above configuration, the calculator 31 can calculate the axis position Px of the swivel axis X with high accuracy by a relatively simple process.

The swiveling work machine 1 may further include a lower traveling body 10 to travel and to support the swivel base 2 such that the swivel base 2 is rotatable about the swivel axis X. The calculator 31 may be configured or programmed to calculate the axis position Px based on the plurality of detected positions Pd obtained during the rotation of the swivel base 2 that is performed for the first time after the lower traveling body 10 stops after traveling.

The above configuration achieves the following: normally, when performing work with the swiveling work machine 1, the operator first rotates the swivel base 2 after traveling to a work site; therefore, it is possible to calculate the axis position Px during routine work without having to perform any special operation before performing work.

The position detector 50 may be located at a position away from the swivel axis X in a horizontal direction.

With the above configuration, the position detector 50 can detect a distant position. Therefore, the calculator 31 can calculate the orientation D with higher accuracy.

The position detector 50 may be located at an end portion of the swivel base 2.

According to the above configuration, the position detector 50 can detect a distant position. Therefore, the calculator 31 can calculate the orientation D with even higher accuracy.

A method of detecting an orientation of a swiveling work machine 1 includes: a first step including causing a swivel base 2 provided with a working device 20 to rotate about a swivel axis X extending in an up-down direction and causing a position detector provided on the swivel base 2 to detect a plurality of detected positions Pd; a second step including calculating an axis position Px which is a position of the swivel axis X based on the plurality of detected positions Pd detected by the position detector 50; and a third step including calculating an orientation D of the swivel base 2 based on the axis position Px calculated in the second step and a reference position Pp.

While preferred embodiments of the present invention have been described above, it is to be understood that variations and modifications will be apparent to those skilled in the art without departing from the scope and spirit of the present invention. The scope of the present invention, therefore, is to be determined solely by the following claims. 

What is claimed is:
 1. A swiveling work machine comprising: a swivel base rotatable about a swivel axis extending in an up-down direction; a working device provided on the swivel base; a position detector provided on the swivel base to detect a position; and a calculator to calculate an orientation of the swivel base based on a detected position which is the position detected by the position detector, wherein the calculator is configured or programmed to calculate an axis position which is a position of the swivel axis based on a plurality of the detected positions obtained during rotation of the swivel base about the swivel axis, and calculate the orientation of the swivel base based on the axis position and the detected position.
 2. The swiveling work machine according to claim 1, wherein the calculator is configured or programmed to calculate the axis position of the swivel axis based on a plurality of the detected positions obtained during a period from when the swivel base starts the rotation to when the swivel base stops the rotation.
 3. The swiveling work machine according to claim 1, further comprising an angle detector provided in or on the swivel base to detect a swivel angle which is an angle of rotation of the swivel base about the swivel axis, wherein the calculator is configured or programmed to calculate a current orientation of the swivel base based on a reference orientation and the swivel angle which is an angle of rotation from a swivel position corresponding to the reference orientation to a current swivel position, the reference orientation being the orientation of the swivel base calculated based on the axis position and on one of the plurality of detected positions used to calculate the axis position.
 4. The swiveling work machine according to claim 3, wherein the calculator is configured or programmed to calculate the axis position of the swivel axis based on a plurality of the detected positions obtained during a period from when the swivel base starts the rotation to when the swivel base stops the rotation, and calculate the current orientation of the swivel base based on the reference orientation and on a difference between a swivel angle obtained when the swivel base stops the rotation and a current swivel angle.
 5. The swiveling work machine according to claim 1, wherein the calculator includes a filter processor configured or programmed to filter the plurality of detected positions obtained during the rotation of the swivel base, and the filter processor is configured or programmed to exclude one or more of the plurality of detected positions that are located outside a substantially arc-shaped area including an arc having a radius equal to a distance from the swivel axis to the position detected by the position detector.
 6. The swiveling work machine according to claim 5, further comprising a tilt detector to detect a tilt angle of the swivel base, wherein the filter processor is configured or programmed to correct the area based on the tilt angle detected by the tilt detector.
 7. The swiveling work machine according to claim 1, wherein the calculator is configured or programmed to calculate a circular or elliptic approximate line based on the plurality of detected positions obtained during the rotation of the swivel base, and calculate the axis position based on the approximate line.
 8. The swiveling work machine according to claim 7, wherein the calculator is configured or programmed to calculate, using a least squares method using an equation of a circle or an ellipse, the approximate line of the plurality of detected positions obtained during the rotation of the swivel base.
 9. The swiveling work machine according to claim 1, further comprising a lower traveling body to travel and to support the swivel base such that the swivel base is rotatable about the swivel axis, wherein the calculator is configured or programmed to calculate the axis position based on the plurality of detected positions obtained during the rotation of the swivel base that is performed for the first time after the lower traveling body stops after traveling.
 10. The swiveling work machine according to claim 1, wherein the position detector is located at a position away from the swivel axis in a horizontal direction.
 11. The swiveling work machine according to claim 10, wherein the position detector is located at an end portion of the swivel base.
 12. A method of detecting an orientation of a swiveling work machine, comprising: a first step including causing a swivel base provided with a working device to rotate about a swivel axis extending in an up-down direction and causing a position detector provided on the swivel base to detect a plurality of detected positions; a second step including calculating an axis position which is a position of the swivel axis based on the plurality of detected positions detected by the position detector; and a third step including calculating an orientation of the swivel base based on the axis position calculated in the second step and a current detected position. 